package com.syf.starter.kafka.handler;

import com.syf.core.engine.SyFrameContext;
import org.apache.kafka.clients.consumer.ConsumerRecord;

import java.util.List;

/**
 * Kafka消息处理器接口
 * 应用开发者需要实现此接口来处理Kafka消息
 */
public interface KafkaMessageHandler {
    
    /**
     * 处理Kafka消息
     * 
     * @param record Kafka消息记录
     * @param frameContext SyFrame上下文，提供框架功能
     * @return 处理是否成功
     */
    boolean handleMessage(ConsumerRecord<String, String> record, SyFrameContext frameContext);
    
    /**
     * 获取处理器名称
     * 
     * @return 处理器名称
     */
    String getHandlerName();
    
    /**
     * 获取此处理器要处理的topic列表
     * 
     * @return topic列表
     */
    List<String> getTopics();
} 